1. Field of the Invention
The present invention relates generally to file servers, such as Network Attached Storage (NAS) systems and, in particular, to failover methods in a clustered NAS system.
2. Description of Related Art
Clustering is the use of multiple computers, multiple storage devices, and redundant interconnections, to form what appears to users as a single highly-available system. Clustering can be used for load balancing as well as to provide high availability. A clustered file system (also referred to as a clustered Network Attached Storage (NAS)) system may include a plurality of file systems, and creates at least one single namespace. A namespace is a set of valid names recognized by a file system that identifies the directory tree structure of the directories and file path names that combine to form a complete file system.
In a clustered NAS file system, the file system (sometimes referred to as a “global file system” or “GFS”) may be distributed across multiple NAS devices or nodes, while appearing to a user as a complete single file system located on a single device. One method of achieving this under the Network File System (NFS) version 4 (NFSv4) protocol involves providing network file system or server software on the NAS hosts, whereby “referrals” on one host are used to indicate the storage location of directories and files on another host.
The present invention is directed mainly to NAS systems incorporating NFSv4 technology (see, e.g., Shepler, S. et al., “IETF RFC3530: Network File System (NFS) version 4 Protocol”, www.ietf.org, April 2004 “NFS version 4 Protocol”, www.ietf.org/rfc/rfc3530.txt; and Novack, D. et al., “Implementation Guide for Referrals in NFSv4 draft-ietf-nfsv4-referrals-00.txt”, www.ietf.org, July 2005). NFSv4 is a network file sharing protocol that is the next generation of NFSv3, which is currently one of the most popular network file sharing protocols. However, while the NFSv4 protocol sets forth a “migration” function, it does not disclose or suggest any remote copy function or failover methods in a clustered file system or clustered NAS environment.
When a failure occurs on one of the NAS nodes in a cluster, the NFSv4 client is not able to access the file system or portion of the file system on the failed NAS node until file system has been recovered from the remotely-mirrored file system back onto the failed NAS node. Alternatively, the IP address of the failed NAS node can be taken over to another NAS node in the cluster using existing clustering software. However, even if the IP address is taken over in this matter, there is normally not the same data in the NAS node which took over the IP address as in the failed NAS. The mirrored file system is typically located on a remote NAS node, which means it is located on the different subnet, separated by a router or the like. Thus, the NFSv4 client is not able to continue accessing the file system on the failed node until backup data on the remote node is recovered to the failed node. The present invention seeks to address the need for providing a backup method and failover system in the NFSv4 environment.